package io.zhengsh.vvip.leetcode.hash;

import java.util.LinkedHashMap;
import java.util.Map;

public class Q149<K, V> extends LinkedHashMap<K, V> {

    private int capacity; // 缓存坑位

    public Q149(int capacity) {
        // true 是访问顺序
        // false 是插入顺序
        super(capacity, 0.75F, true);
        this.capacity = capacity;
    }

    @Override
    protected boolean removeEldestEntry(Map.Entry<K, V> eldest) {
        return super.size() > capacity;
    }

    public static void main(String[] args) {
        Q149 q149 = new Q149(3);
        q149.put(1, "a");
        q149.put(2, "b");
        q149.put(3, "c");

        System.out.println(q149.keySet());

        q149.put(4, "d");
        q149.put(5, "e");

        System.out.println(q149.keySet());
    }
}
